package com.ctshk.rpc.air.service;

import com.ctshk.common.dto.Result;
import com.ctshk.rpc.air.dto.AirProductSaleRecordDTO;
import com.ctshk.rpc.air.req.AirProductSaleRecordAddReq;

import java.time.LocalDate;
import java.util.List;

/**
 * <p>
 * 产品库存售卖记录 服务类
 * </p>
 *
 * @author 谢诗宏
 * @since 2021-03-18
 */
public interface IAirProductSaleRecordService{

    /**
     * 新增
     * @param req
     * @param userId
     * @return
     */
    Result add(AirProductSaleRecordAddReq req,Long userId);

    /**
     * 删除
     * @param productId
     * @param orderId
     * @return
     */
    boolean removeByProductAndOrderId(Long productId, Long orderId);

    /**
     * 获取指定日期的机票售卖记录
     * @param productId
     * @param date
     * @return
     */
    List<AirProductSaleRecordDTO> getByProductId(Long productId, LocalDate date);

    /**
     * 获取剩余库存
     * @param productId
     * @param date
     * @return
     */
    Integer getRemainingInventory(Long productId, LocalDate date);
}
